Conventional methods for searching and retrieving reusable software assets perform each search request separately. Consequently, conventional search and retrieval methods do not meaningfully appraise the reusability of a reusable asset in a software development system over time. A repetitive search request for a specific reusable asset may return a same irrelevant result every time because conventional search methods do not have information on search requests performed in the past. Also, even when two different search requests are for a same specific reusable asset, if the two search requests are versed in semantically similar but not identical search terms, two search results may be completely unrelated to each other. Thus, there is a need for a method and system that overcomes at least one of the preceding disadvantages of current methods for searching and retrieving reusable assets.